package com.yun.algorithmproblem.leetcode;

import java.util.Arrays;
import java.util.Objects;

public class Leetcode3363 {

    public static void main(String[] args) {
        Leetcode3363 obj = new Leetcode3363();
        int[][] fruits = {{1, 2, 3, 4}, {5, 6, 8, 7}, {9, 10, 11, 12}, {13, 14, 15, 16}};
        int max = obj.maxCollectedFruits(fruits);
        System.out.println(max);
    }

    public int maxCollectedFruits(int[][] fruits) {
        int n = fruits.length;
        int[][] memo = new int[n][n];
        for (int[] row : memo) {
            Arrays.fill(row, -1);
        }

        int ans = 0;
        // 从(0,0)出发
        for (int i = 0; i < n; i++) {
            ans += fruits[i][i];
            fruits[i][i] = 0;
        }

        return 0;
    }

    static class State {
        int i;
        int j;
        int g;
        int h;
        int f;

        public State(int i, int j, int g) {
            this.i = i;
            this.j = j;
            this.g = g;
            this.h = computeH();
            this.f = g + h;
        }

        int computeH() {
            return 0;
        }

        public boolean equals(Object obj) {
            if (obj instanceof State s) {
                return i == s.i && j == s.j;
            } else {
                return false;
            }
        }

        public int hashCode() {
            return Objects.hash(i, j);
        }
    }
}
